Hướng dẫn octal to binary javascript - bát phân sang nhị phân javascript

  • " Trước
  • Tiếp theo "

Chương này giới thiệu các khái niệm, đối tượng và chức năng được sử dụng để làm việc và thực hiện các tính toán bằng cách sử dụng các số và ngày trong JavaScript. Điều này bao gồm việc sử dụng các số được viết trong các cơ sở khác nhau bao gồm thập phân, nhị phân và thập lục phân, cũng như việc sử dụng đối tượng

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
5 toàn cầu để thực hiện nhiều hoạt động toán học trên các số.

Số

Trong JavaScript, các số được thực hiện ở định dạng nhị phân 64 bit chính xác kép IEEE 754 (tức là, một số giữa ± 2^−1022 và ± 2^+1023, hoặc khoảng ± 10^−308 đến ± 10^+308, với độ chính xác số 53 bit). Các giá trị số nguyên lên đến ± 2^53 - 1 có thể được biểu diễn chính xác.

Ngoài việc có thể đại diện cho các số điểm nổi, loại số có ba giá trị tượng trưng:

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
6
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
7,
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
8
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
7 và
const n = 0755; // 493
const m = 0644; // 420
0 (không phải là một số).

Xem thêm các kiểu và cấu trúc dữ liệu JavaScript cho bối cảnh với các loại nguyên thủy khác trong JavaScript.

Bạn có thể sử dụng bốn loại chữ số: thập phân, nhị phân, bát phân và thập lục phân.

Số thập phân

1234567890
42

// Caution when using leading zeros:

0888 // 888 parsed as decimal
0777 // parsed as octal in non-strict mode (511 in decimal)

Lưu ý rằng các chữ thập phân có thể bắt đầu bằng số 0 (

const n = 0755; // 493
const m = 0644; // 420
1) theo sau là một chữ số thập phân khác, nhưng nếu mỗi chữ số sau
const n = 0755; // 493
const m = 0644; // 420
1 hàng đầu nhỏ hơn 8, số lượng được phân tích cú pháp dưới dạng số bát phân.

Số nhị phân

Cú pháp số nhị phân sử dụng số 0 hàng đầu theo sau là chữ thường hoặc chữ in hoa "B" (

const n = 0755; // 493
const m = 0644; // 420
3 hoặc
const n = 0755; // 493
const m = 0644; // 420
4). Nếu các chữ số sau
const n = 0755; // 493
const m = 0644; // 420
3 không phải là 0 hoặc 1, thì
const n = 0755; // 493
const m = 0644; // 420
6 sau đây sẽ được ném: "Thiếu các chữ số nhị phân sau 0b".

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607

Số bát phân

Cú pháp tiêu chuẩn cho các số bát phân là tiền tố chúng với

const n = 0755; // 493
const m = 0644; // 420
7. Ví dụ:

Ngoài ra còn có một cú pháp kế thừa cho các số bát phân - bằng cách tiền tố số octal bằng số 0:

const n = 0755; // 493
const m = 0644; // 420
8 và
const n = 0755; // 493
const m = 0644; // 420
9. Nếu các chữ số sau
const n = 0755; // 493
const m = 0644; // 420
1 nằm ngoài phạm vi từ 0 đến 7, số sẽ được hiểu là số thập phân.

const n = 0755; // 493
const m = 0644; // 420

Chế độ nghiêm ngặt cấm cú pháp octal này.

Số thập lục phân

Cú pháp số thập lục phân sử dụng số 0 hàng đầu, theo sau là chữ thường hoặc chữ in hoa "x" (

0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
1 hoặc
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
2). Nếu các chữ số sau 0x nằm ngoài phạm vi (0123456789ABCDEF), thì
const n = 0755; // 493
const m = 0644; // 420
6 sau đây sẽ được ném: "Định danh bắt đầu ngay sau khi chữ số".

0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10

Số mũ

1E3   // 1000
2e6   // 2000000
0.1e2 // 10

Đối tượng số

Đối tượng

0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
4 tích hợp có các thuộc tính cho các hằng số số, chẳng hạn như giá trị tối đa, không phải là số và vô cực. Bạn không thể thay đổi các giá trị của các thuộc tính này và bạn sử dụng chúng như sau:

const biggestNum = Number.MAX_VALUE;
const smallestNum = Number.MIN_VALUE;
const infiniteNum = Number.POSITIVE_INFINITY;
const negInfiniteNum = Number.NEGATIVE_INFINITY;
const notANum = Number.NaN;

Bạn luôn đề cập đến một thuộc tính của đối tượng

0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
4 được xác định trước như được hiển thị ở trên, và không phải là thuộc tính của đối tượng
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
4 mà bạn tự tạo.

Bảng sau đây tóm tắt các thuộc tính của đối tượng

0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
4.

Tài sảnSự mô tả
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
8
Số đại diện tích cực lớn nhất (
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
9)
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
0
Số đại diện dương nhỏ nhất (
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
1)
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
2
Giá trị "không phải số" đặc biệt
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
3
Giá trị vô hạn tiêu cực đặc biệt; trở lại trên tràn
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
4
Giá trị vô hạn tích cực đặc biệt; trở lại trên tràn
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
5
Sự khác biệt giữa
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
6 và giá trị nhỏ nhất lớn hơn
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
6 có thể được biểu diễn dưới dạng
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
4 (
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
9)
const biggestNum = Number.MAX_VALUE;
const smallestNum = Number.MIN_VALUE;
const infiniteNum = Number.POSITIVE_INFINITY;
const negInfiniteNum = Number.NEGATIVE_INFINITY;
const notANum = Number.NaN;
0
Số nguyên an toàn tối thiểu trong JavaScript (−2^53 + 1 hoặc
const biggestNum = Number.MAX_VALUE;
const smallestNum = Number.MIN_VALUE;
const infiniteNum = Number.POSITIVE_INFINITY;
const negInfiniteNum = Number.NEGATIVE_INFINITY;
const notANum = Number.NaN;
1)
const biggestNum = Number.MAX_VALUE;
const smallestNum = Number.MIN_VALUE;
const infiniteNum = Number.POSITIVE_INFINITY;
const negInfiniteNum = Number.NEGATIVE_INFINITY;
const notANum = Number.NaN;
2
Số nguyên an toàn tối đa trong JavaScript (+2^53 - 1 hoặc
const biggestNum = Number.MAX_VALUE;
const smallestNum = Number.MIN_VALUE;
const infiniteNum = Number.POSITIVE_INFINITY;
const negInfiniteNum = Number.NEGATIVE_INFINITY;
const notANum = Number.NaN;
3))
Phương phápSự mô tả
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
8
Số đại diện tích cực lớn nhất (
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
9)
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
0
Số đại diện dương nhỏ nhất (
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
1)
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
2
Giá trị "không phải số" đặc biệt
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
3
Giá trị vô hạn tiêu cực đặc biệt; trở lại trên tràn
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
4
Giá trị vô hạn tích cực đặc biệt; trở lại trên tràn
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
5
Sự khác biệt giữa
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
6 và giá trị nhỏ nhất lớn hơn
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
6 có thể được biểu diễn dưới dạng
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
4 (
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
9)

const biggestNum = Number.MAX_VALUE;
const smallestNum = Number.MIN_VALUE;
const infiniteNum = Number.POSITIVE_INFINITY;
const negInfiniteNum = Number.NEGATIVE_INFINITY;
const notANum = Number.NaN;
0

Phương phápSự mô tả
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
8
Số đại diện tích cực lớn nhất (
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10
9)
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
0
Số đại diện dương nhỏ nhất (
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
1)
1E3   // 1000
2e6   // 2000000
0.1e2 // 10
2
Giá trị "không phải số" đặc biệt

1E3 // 1000 2e6 // 2000000 0.1e2 // 10 3

Giá trị vô hạn tiêu cực đặc biệt; trở lại trên tràn

Tương tự, các hàm toán học tiêu chuẩn là phương pháp của

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
5. Chúng bao gồm lượng giác, logarit, hàm mũ và các hàm khác. Ví dụ: nếu bạn muốn sử dụng sin hàm lượng giác, bạn sẽ viết

Lưu ý rằng tất cả các phương pháp lượng giác của

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
5 đều có đối số trong radian.

Bảng sau đây tóm tắt các phương thức của đối tượng

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
5.

Phương pháp của
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
5
Phương phápSự mô tả
const b1 = BigInt(123);
// Using a string prevents loss of precision, since long number
// literals don't represent what they seem like.
const b2 = BigInt("-1234567890987654321");
7
Giá trị tuyệt đối
const b1 = BigInt(123);
// Using a string prevents loss of precision, since long number
// literals don't represent what they seem like.
const b2 = BigInt("-1234567890987654321");
8,
const b1 = BigInt(123);
// Using a string prevents loss of precision, since long number
// literals don't represent what they seem like.
const b2 = BigInt("-1234567890987654321");
9,
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
0
Chức năng lượng giác tiêu chuẩn; với cuộc tranh luận trong radian.
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
1,
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
2,
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
3,
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
4
Chức năng lượng giác nghịch đảo; Trả về giá trị trong radian.
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
5,
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
6,
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
7
Chức năng hyperbolic; Đối số trong góc hyperbol.
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
8,
const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n
9,
const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
0
Chức năng hyperbol nghịch đảo; Trả về giá trị trong góc hyperbol.

const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
1,
const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
2,
const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
3,
const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
4,
const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
5,
const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
6,
const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
7

Các chức năng theo cấp số nhân và logarit.
const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
8,
const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt
9
Trả về số nguyên lớn nhất/nhỏ nhất/lớn hơn hoặc bằng đối số.
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
00,
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
01
Trả về giá trị tối thiểu hoặc tối đa (tương ứng) của danh sách các số được phân tách bằng dấu phẩy là đối số.
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
02
Trả về một số ngẫu nhiên trong khoảng từ 0 đến 1.
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
03,
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
04,
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
05,
Chức năng làm tròn và cắt ngắn.
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
06,
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
07,
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
08
Gốc, gốc khối, căn bậc hai của tổng các đối số vuông.
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
09
Dấu hiệu của một số, cho biết số lượng là dương, âm hay bằng không.
________ 110, ________ 111
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
11
Số lượng bit không hàng đầu trong biểu diễn nhị phân 32 bit. Kết quả của phép nhân 32 bit giống như C của hai đối số.
The result of the C-like 32-bit multiplication of the two arguments.

Không giống như nhiều đối tượng khác, bạn không bao giờ tạo một đối tượng

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
5 của riêng bạn. Bạn luôn sử dụng đối tượng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
5 tích hợp.

Lớn

Một thiếu sót của các giá trị số là chúng chỉ có 64 bit. Trong thực tế, do sử dụng mã hóa IEEE 754, chúng không thể đại diện cho bất kỳ số nguyên nào lớn hơn

const biggestNum = Number.MAX_VALUE;
const smallestNum = Number.MIN_VALUE;
const infiniteNum = Number.POSITIVE_INFINITY;
const negInfiniteNum = Number.NEGATIVE_INFINITY;
const notANum = Number.NaN;
2 (là 253 - 1) chính xác. Để giải quyết nhu cầu mã hóa dữ liệu nhị phân và tương tác với các ngôn ngữ khác cung cấp các số nguyên rộng như
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
15 (số nguyên 64 bit) và
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
16 (số nguyên 128 bit), JavaScript cũng cung cấp một loại dữ liệu khác để thể hiện số nguyên lớn tùy ý:
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
17.

Một bigint có thể được định nghĩa là một hậu tố số nguyên theo nghĩa đen của

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
18:

const b1 = 123n;
// Can be arbitrarily large.
const b2 = -1234567890987654321n;

Bigints cũng có thể được xây dựng từ các giá trị số hoặc giá trị chuỗi bằng hàm tạo

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
17.

const b1 = BigInt(123);
// Using a string prevents loss of precision, since long number
// literals don't represent what they seem like.
const b2 = BigInt("-1234567890987654321");

Về mặt khái niệm, một Bigint chỉ là một chuỗi các bit dài tùy ý mã hóa một số nguyên. Bạn có thể thực hiện bất kỳ hoạt động số học nào mà không mất độ chính xác hoặc quá mức.

const integer = 12 ** 34; // 4.9222352429520264e+36; only has limited precision
const bigint = 12n ** 34n; // 4922235242952026704037113243122008064n

So với các con số, các giá trị lớn mang lại độ chính xác cao hơn khi đại diện cho các số nguyên lớn; Tuy nhiên, chúng không thể đại diện cho số điểm nổi. Ví dụ, phân chia sẽ làm tròn đến 0:

const bigintDiv = 5n / 2n; // 2n, because there's no 2.5 in BigInt

Các hàm

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
5 không thể được sử dụng trên các giá trị lớn. Có một đề xuất mở để làm quá tải một số hàm
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
5 như
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
22 để cho phép các giá trị lớn.

Chọn giữa Bigint và số phụ thuộc vào trường hợp sử dụng và phạm vi đầu vào của bạn. Độ chính xác của các con số sẽ có thể đáp ứng hầu hết các nhiệm vụ hàng ngày và Bigint là phù hợp nhất để xử lý dữ liệu nhị phân.

Đọc thêm về những gì bạn có thể làm với các giá trị lớn trong phần Biểu thức và toán tử hoặc tham chiếu Bigint.

Đối tượng ngày

JavaScript không có kiểu dữ liệu ngày. Tuy nhiên, bạn có thể sử dụng đối tượng

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 và các phương thức của nó để hoạt động với ngày và thời gian trong các ứng dụng của bạn. Đối tượng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 có một số lượng lớn các phương thức để thiết lập, nhận và thao tác ngày. Nó không có bất kỳ tài sản.

JavaScript xử lý ngày tương tự như Java. Hai ngôn ngữ có nhiều phương pháp cùng ngày và cả hai ngôn ngữ đều lưu trữ ngày là số mili giây kể từ ngày 1 tháng 1 năm 1970, 00:00:00, với dấu thời gian UNIX là số giây kể từ ngày 1 tháng 1 năm 1970, 00: 00: 00:00.

Phạm vi đối tượng

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 là -100.000.000 ngày đến 100.000.000 ngày so với ngày 01 tháng 1 năm 1970 UTC.

Để tạo đối tượng

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23:

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
0

trong đó

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
27 là tên của đối tượng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 được tạo; Nó có thể là một đối tượng mới hoặc một thuộc tính của một đối tượng hiện có.

Gọi

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 mà không có từ khóa
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
30 trả về một chuỗi đại diện cho ngày và thời gian hiện tại.

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
31 trong cú pháp trước đó có thể là bất kỳ điều nào sau đây:

  • Không có gì: tạo ra ngày và giờ hôm nay. Ví dụ,
    const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
    const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
    const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
    
    32.
  • Một chuỗi đại diện cho một ngày trong mẫu sau: "Ngày tháng, giờ năm: Biên bản: giây." Ví dụ,
    const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
    const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
    const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
    
    33. Nếu bạn bỏ qua hàng giờ, phút hoặc giây, giá trị sẽ được đặt thành 0.
  • Một tập hợp các giá trị số nguyên cho năm, tháng và ngày. Ví dụ,
    const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
    const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
    const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
    
    34.
  • Một tập hợp các giá trị số nguyên cho năm, tháng, ngày, giờ, phút và giây. Ví dụ,
    const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
    const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
    const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
    
    35.

Phương thức của đối tượng ngày

Các phương thức đối tượng

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 để xử lý ngày và thời gian rơi vào các loại rộng này:

  • Các phương thức "Đặt", để thiết lập các giá trị ngày và thời gian trong các đối tượng
    const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
    const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
    const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
    
    23.
  • Các phương thức "Nhận", để nhận giá trị ngày và thời gian từ các đối tượng
    const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
    const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
    const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
    
    23.
  • "To" Các phương thức, để trả về các giá trị chuỗi từ các đối tượng
    const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
    const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
    const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
    
    23.
  • Phương pháp phân tích và UTC, để phân tích các chuỗi
    const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
    const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
    const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
    
    23.

Với các phương pháp "Get" và "Set", bạn có thể nhận được và đặt vài giây, phút, giờ, ngày của tháng, ngày của tuần, tháng và năm. Có một phương thức

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
41 trả về ngày trong tuần, nhưng không có phương thức
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
42 tương ứng, bởi vì ngày trong tuần được đặt tự động. Các phương pháp này sử dụng số nguyên để biểu diễn các giá trị này như sau:

  • Giây và phút: 0 đến 59
  • Giờ: 0 đến 23
  • Ngày: 0 (Chủ nhật) đến 6 (Thứ Bảy)
  • Ngày: 1 đến 31 (ngày của tháng)
  • Tháng: 0 (tháng 1) đến 11 (tháng 12)
  • Năm: Năm kể từ năm 1900

Ví dụ: giả sử bạn xác định ngày sau:

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
1

Sau đó

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
43 trả về 11 và
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
44 trở lại năm 1995.

Các phương pháp

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
45 và
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
46 rất hữu ích để so sánh ngày. Phương pháp
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
45 trả về số mili giây kể từ ngày 1 tháng 1 năm 1970, 00:00:00 cho một đối tượng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23.

Ví dụ: mã sau hiển thị số ngày còn lại trong năm hiện tại:

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
2

Ví dụ này tạo ra một đối tượng

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 có tên
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
50 có chứa ngày hôm nay. Sau đó, nó tạo ra một đối tượng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 có tên
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
52 và đặt năm thành năm hiện tại. Sau đó, sử dụng số mili giây mỗi ngày, nó tính toán số ngày từ
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
50 đến
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
52, sử dụng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
45 và làm tròn đến một số ngày.

Phương thức

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
56 rất hữu ích cho việc gán các giá trị từ các chuỗi ngày cho các đối tượng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 hiện có. Ví dụ: mã sau sử dụng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
56 và
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
46 để gán giá trị ngày cho đối tượng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
60:

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
3

Thí dụ

Trong ví dụ sau, hàm

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
61 trả về thời gian ở định dạng của đồng hồ kỹ thuật số.

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
4

Hàm

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
62 trước tiên tạo ra một đối tượng
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
23 mới được gọi là
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
64; Vì không có đối số nào được đưa ra, thời gian được tạo ra với ngày và giờ hiện tại. Sau đó, các cuộc gọi đến các phương thức
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
65,
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
66 và
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
67 gán giá trị của giờ, phút và thứ hai hiện tại là
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
68,
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
69 và
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
70.

Các câu sau đây xây dựng một giá trị chuỗi dựa trên thời gian. Câu lệnh đầu tiên tạo ra một biến

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
71. Giá trị của nó là
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
72, đó là
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
68 trong hệ thống 12 giờ. Sau đó, nếu giờ là
const n = 0755; // 493
const m = 0644; // 420
1, nó sẽ được gán lại thành
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
75, do đó nửa đêm và buổi trưa được hiển thị là
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
76 thay vì
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
77.

Tuyên bố tiếp theo nối thêm giá trị

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
69 vào
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
71. Nếu giá trị của
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
69 nhỏ hơn 10, biểu thức có điều kiện sẽ thêm một chuỗi có số 0 trước; Nếu không, nó thêm một chuỗi với một dấu hai chấm. Sau đó, một câu lệnh có giá trị giây là
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
71 theo cùng một cách.

Cuối cùng, một biểu thức có điều kiện bổ sung "p.m." đến

const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
71 nếu
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
68 là 12 hoặc lớn hơn; Nếu không, nó cộng đồng "A.M." đến
const FLT_SIGNBIT  = 0b10000000000000000000000000000000; // 2147483648
const FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
const FLT_MANTISSA = 0B00000000011111111111111111111111; // 8388607
71.

  • " Trước
  • Tiếp theo "