Hướng dẫn how do you use hexadecimal in javascript? - làm thế nào để bạn sử dụng hệ thập lục phân trong javascript?

Câu trả lời được chấp nhận đã không tính đến các mã thập lục phân được trả về một chữ số. Điều này dễ dàng được điều chỉnh bởi:

function numHex(s)
{
    var a = s.toString(16);
    if ((a.length % 2) > 0) {
        a = "0" + a;
    }
    return a;
}

function strHex(s)
{
    var a = "";
    for (var i=0; i

Tôi tin rằng các câu trả lời trên đã được những người khác đăng tải ở dạng này hay hình thức khác. Tôi bọc chúng trong hàm tohex () như vậy:

function toHex(s)
{
    var re = new RegExp(/^\s*(\+|-)?((\d+(\.\d+)?)|(\.\d+))\s*$/);

    if (re.test(s)) {
        return '#' + strHex( s.toString());
    }
    else {
        return 'A' + strHex(s);
    }
}

Lưu ý rằng biểu thức chính quy số đến từ hơn 10 chức năng biểu thức chính quy JavaScript hữu ích để cải thiện hiệu quả ứng dụng web của bạn.

Cập nhật: Sau khi kiểm tra điều này nhiều lần tôi đã tìm thấy một lỗi (trích dẫn gấp đôi trong regexp), vì vậy tôi đã sửa nó. TUY NHIÊN! Sau khi kiểm tra khá nhiều và đã đọc bài đăng của Almaz - tôi nhận ra rằng tôi không thể nhận được số âm để làm việc.

Hơn nữa - Tôi đã đọc một số đọc về điều này và vì tất cả các số JavaScript được lưu trữ dưới dạng 64 bit từ bất kể điều gì - tôi đã thử sửa đổi mã NUMHEX để có được từ 64 bit. Nhưng hóa ra bạn không thể làm điều đó. Nếu bạn đặt "3.14159265" làm số vào một biến - tất cả những gì bạn sẽ có thể nhận được là "3", bởi vì phần phân số chỉ có thể truy cập được bằng cách nhân số với mười (tức là: 10.0) nhiều lần. Hoặc để đặt một cách khác - giá trị thập lục phân là 0xF khiến giá trị điểm nổi được dịch thành một số nguyên trước khi nó và loại bỏ mọi thứ phía sau thời kỳ. Thay vì lấy toàn bộ giá trị (tức là: 3.14159265) và làm giảm giá trị điểm nổi so với giá trị 0xF.

Vì vậy, điều tốt nhất để làm, trong trường hợp này, là chuyển đổi 3.14159265 thành một chuỗi và sau đó chỉ cần chuyển đổi chuỗi. Do những điều trên, nó cũng giúp dễ dàng chuyển đổi số âm vì dấu trừ chỉ trở thành 0x26 ở mặt trước của giá trị.

Vì vậy, những gì tôi đã làm là xác định rằng biến chứa một số - chỉ cần chuyển đổi nó thành một chuỗi và chuyển đổi chuỗi. Điều này có nghĩa là đối với tất cả mọi người rằng ở phía máy chủ, bạn sẽ cần phải tiết lộ chuỗi đến và sau đó để xác định thông tin đến là số. Bạn có thể làm điều đó một cách dễ dàng bằng cách chỉ cần thêm một "#" vào mặt trước của số và "A" vào phía trước của chuỗi ký tự trở lại. Xem hàm tohex ().

Chúc vui vẻ!

Sau một năm nữa và rất nhiều suy nghĩ, tôi đã quyết định rằng chức năng "Tohex" (và tôi cũng có chức năng "Fromhex") thực sự cần phải được tân trang lại. Toàn bộ câu hỏi là "Làm thế nào tôi có thể làm điều này hiệu quả hơn?" Tôi đã quyết định rằng một hàm thập lục phân không nên quan tâm nếu một cái gì đó là một phần phân đoạn nhưng đồng thời nó phải đảm bảo rằng các phần phân số được đưa vào chuỗi.

Vì vậy, câu hỏi đã trở thành, "Làm thế nào để bạn biết bạn đang làm việc với một chuỗi thập lục phân?". Đáp án đơn giản. Sử dụng thông tin trước chuỗi tiêu chuẩn đã được công nhận trên toàn thế giới.

Nói cách khác - sử dụng "0x". Vì vậy, bây giờ chức năng Tohex của tôi có vẻ để xem liệu nó có ở đó không và nếu nó là - nó chỉ trả về chuỗi được gửi đến nó. Nếu không, nó chuyển đổi chuỗi, số, bất cứ điều gì. Đây là chức năng TOHEX sửa đổi:

/////////////////////////////////////////////////////////////////////////////
//  toHex().  Convert an ASCII string to hexadecimal.
/////////////////////////////////////////////////////////////////////////////
toHex(s)
{
    if (s.substr(0,2).toLowerCase() == "0x") {
        return s;
    }

    var l = "0123456789ABCDEF";
    var o = "";

    if (typeof s != "string") {
        s = s.toString();
    }
    for (var i=0; i>4),1) + l.substr((c & 0x0f),1);
    }

    return "0x" + o;
}

Đây là một chức năng rất nhanh có tính đến các chữ số đơn, số điểm nổi và thậm chí kiểm tra xem người đó có gửi giá trị hex để được định nghĩa lại không. Nó chỉ sử dụng bốn cuộc gọi chức năng và chỉ có hai trong số đó là trong vòng lặp. Để un-hex các giá trị bạn sử dụng:

/////////////////////////////////////////////////////////////////////////////
//  fromHex().  Convert a hex string to ASCII text.
/////////////////////////////////////////////////////////////////////////////
fromHex(s)
{
    var start = 0;
    var o = "";

    if (s.substr(0,2).toLowerCase() == "0x") {
        start = 2;
    }

    if (typeof s != "string") {
        s = s.toString();
    }
    for (var i=start; i

Giống như hàm tohex (), hàm FromHex () trước tiên tìm kiếm "0x" và sau đó nó dịch thông tin đến thành một chuỗi nếu nó không phải là một chuỗi. Tôi không biết làm thế nào nó sẽ không phải là một chuỗi - nhưng chỉ trong trường hợp - tôi kiểm tra. Chức năng sau đó đi qua, lấy hai ký tự và dịch các ký tự sang các ký tự ASCII. Nếu bạn muốn nó dịch unicode, bạn sẽ cần thay đổi vòng lặp thành bốn (4) ký tự cùng một lúc. Nhưng sau đó bạn cũng cần đảm bảo rằng chuỗi không chia hết cho bốn. Nếu nó là - thì đó là một chuỗi thập lục phân tiêu chuẩn. (Hãy nhớ chuỗi có "0x" ở mặt trước của nó.)

Một tập lệnh kiểm tra đơn giản để hiển thị rằng -3.14159265, khi được chuyển đổi thành một chuỗi, vẫn là -3.14159265.


    Test
        
    
    
    

EOD;
?>

Do cách thức hoạt động của JavaScript đối với hàm toString (), tất cả những vấn đề đó có thể được loại bỏ mà trước khi gây ra vấn đề. Bây giờ tất cả các chuỗi và số có thể được chuyển đổi dễ dàng. Hơn nữa, những thứ như các đối tượng sẽ gây ra lỗi được tạo bởi chính JavaScript. Tôi tin rằng điều này là tốt như nó được. Cải tiến duy nhất còn lại là W3C chỉ bao gồm hàm tohex () và từHex () trong javascript.

Làm thế nào để bạn viết số thập lục phân trong javascript?

Để chuyển đổi một số thành thập lục phân, hãy gọi phương thức toString () trên số, chuyển nó 16 làm cơ sở, ví dụ: Num. ToString (16). Phương thức ToString lấy cơ sở làm tham số và trả về biểu diễn chuỗi của số.call the toString() method on the number, passing it 16 as the base, e.g. num. toString(16) . The toString method takes the base as a parameter and returns the string representation of the number.

Làm thế nào để các lập trình viên sử dụng thập lục phân?

Hex thường được sử dụng trong các thông báo lỗi trên máy tính của bạn.Số hex đề cập đến vị trí bộ nhớ của lỗi.Điều này giúp các lập trình viên tìm thấy và sau đó khắc phục sự cố.in error messages on your computer. The hex number refers to the memory location of the error. This helps programmers to find and then fix problems.

Làm thế nào để một hình lục giác hoạt động?

HexAdeCimal là một hệ thống đánh số có cơ sở 16. Nó có thể được sử dụng để biểu diễn số lượng lớn với ít chữ số hơn.Trong hệ thống này có 16 ký hiệu hoặc giá trị chữ số có thể từ 0 đến 9, theo sau là sáu ký tự chữ cái - A, B, C, D, E và F.there are 16 symbols or possible digit values from 0 to 9, followed by six alphabetic characters -- A, B, C, D, E and F.

Làm thế nào để bạn đại diện cho thập lục phân?

Số thập lục phân được biểu thị bằng chỉ 16 biểu tượng.Các ký hiệu hoặc giá trị này là 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e và f. Mỗi chữ số đại diện cho một giá trị thập phân.Ví dụ, D bằng Base-10 13.16 symbols. These symbols or values are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E and F. Each digit represents a decimal value. For example, D is equal to base-10 13.