Tôi đang cố gắng hiểu các phép tính bát phân và thập lục phân javascript. Tôi biết tôi có thể sử dụng parseInt(string, radix)
để lấy giá trị Integer.Chuyển đổi số bát phân và số thập lục phân thành cơ số 10
Ví dụ: khi tôi thử điều này, tại sao các giá trị khác nhau?
var octal = parseInt('026', 8);
var octal1 = parseInt('030', 8);
alert(octal); //22
alert(octal1); //24
var hex = parseInt('0xf5', 16);
var hex1 = parseInt('0xf8', 16);
alert(hex); //245
alert(hex1); //248
Nhưng nếu tôi cố gắng lưu nó vào một mảng tại sao các câu trả lời khác nhau và không chính xác?
var x = new Array(026, 5, 0xf5, "abc");
var y = new Array(030, 3, 0xf8, "def");
alert('026 is ' + parseInt(x[0],8)); //18
alert('0xf5 is ' + parseInt(x[2],16)); //581
alert('030 is ' + parseInt(y[0],8)); //20
alert('0xf8 is ' + parseInt(y[2],16)); //584
Bạn đang đúng. Phần đầu tiên là không cần thiết. 'alert (026)' sẽ sinh ra '22'. Làm thế nào về mảng? – theking963
Lưu ý rằng 'var foo = new Array (...);' gần như không bao giờ được ưa thích hơn 'var foo = [...];' vì trước đây là byte, chậm hơn và hàm tương đương. – Phrogz