Làm cách nào để bạn chuyển đổi số giữa các cơ sở khác nhau trong javascript?

Cơ số hoặc cơ số của một số là số các chữ số duy nhất, bao gồm cả số 0, được sử dụng để biểu thị các số trong một hệ thống chữ số theo vị trí. Trong hệ thống số thập phân, chúng tôi sử dụng các chữ số 0-9 để tạo thành các số. Hệ thống số nhị phân được biểu thị chỉ bằng hai chữ số 0 và 1. Trong bài viết này, chúng ta sẽ xem xét phương pháp chuyển đổi hệ cơ số của một số

Trong JavaScript, chúng ta có thể chuyển đổi số thành các cơ số khác nhau, từ cơ số 2 đến cơ số 36. Chúng ta đã quen thuộc với bốn hệ thống số, cụ thể là nhị phân, bát phân, thập phân, thập lục phân. Chúng tôi có một phương thức nguyên mẫu được kế thừa đối tượng được gọi là toString(), phương thức này phù hợp với chúng tôi

Phương thức toString() chỉ mong đợi một tham số duy nhất là tùy chọn nhưng là yếu tố thay đổi cuộc chơi và trọng tâm chính của bài viết này, cơ số. Một cơ số xác định hệ thống cơ sở của số. Phương pháp này được áp dụng trên số và chúng tôi nhận được đầu ra dưới dạng một chuỗi

Theo mặc định, cơ sở trong phương thức toString là 10 hoặc hệ thập phân, điều này tốt, vì hầu hết chúng ta quan tâm đến hệ thống số thập phân và với toString, chúng ta nhận được đầu ra trong chuỗi, có thể được sử dụng thêm cho các thao tác chuỗi khác

Mã số

var number = 20;
number.toString(); //Default
//Output: 20

number.toString(2); //Binary
//Output: 10100

number.toString(8); //Octal
//Output: 24

number.toString(16); //Hexadecimal
//Output: 14

Đây là những hệ thống số mà chúng ta quen thuộc với. Cũng lưu ý, chúng ta có thể chuyển đổi chuỗi này thành số bằng cách sử dụng chuyển đổi kiểu rõ ràng, sử dụng phương thức Number() để chuyển đổi chuỗi thành số. Chúng tôi cũng có thể sử dụng một số hệ thống cơ sở khác như,

Sự khác biệt giữa Trạng thái phiên và ViewState là gì?

Sự khác biệt là gì

Sự khác biệt giữa Xác thực và ủy quyền là gì? . Thes

câu hỏi C#. những gì tôi

Trong C#, tham chiếu yếu là gì? . NET (một

người ta có thể thay đổi m

Có thể thay đổi con trỏ chuột trong Biểu mẫu không?

Lời hứa. tất cả các phương thức chạy song song các lời hứa đã qua. Nếu một lời hứa thất bại, Lời hứa. tất cả các phương thức từ chối với giá trị của lời hứa bị từ chối. Trong trường hợp này, promise3 bị từ chối với giá trị "Third". Chúng tôi đang bắt giá trị bị từ chối trong phương thức bắt theo chuỗi trên lệnh gọi runPromises để bắt bất kỳ lỗi nào trong hàm runPromises. Chỉ "Thứ ba" được ghi lại, vì lời hứa 3 bị từ chối với giá trị này

Hôm nay, khi tôi đang giải một bài toán thuật toán đơn giản trên Leetcode, tôi nhận ra rằng không có nhiều tài nguyên phân tích chính xác một số công cụ tốt nhất để chuyển đổi cơ sở số trong JavaScript. Sau khi thực hiện một số nghiên cứu, tôi đã phát hiện ra một số mẹo khá đơn giản giúp giải thích mọi thứ rõ ràng, hãy cùng xem qua chúng

Chuyển đổi số thập phân thành nhị phân bằng toString()

Trong JavaScript, chúng ta thực sự có thể chỉ cần sử dụng toString() để chuyển đổi bất kỳ số nào thành bất kỳ cơ số nào khác bằng cách thêm một số vào bên trong (), vì vậy nếu chúng ta có 5, 5. toString(2) sẽ trở thành 101

Đơn giản phải không?

Như đã nói, chúng ta hãy xem nhanh lời nhắc trên Leetcode

Cho một số nguyên dương num, xuất ra số bù của nó. Chiến lược bổ sung là lật các bit của biểu diễn nhị phân của nó

-https. //leetcode. com/explore/challenge/card/may-leetcoding-challenge/534/week-1-may-1st-5-7th/3319/

Đưa ra một đầu vào, lật nhị phân của nó, rồi trả lại nhị phân đó thành số thập phân

Vì vậy, với 101, chúng ta chỉ cần sử dụng vòng lặp for, nếu 0 trả về 1, nếu 1 trả về 0

hãy xem điều đó trong JavaScript

for(let i = 0;i<a.length;i++){ 
if(a[i] == “0”){
bin += “1”
} else {
bin += “0”
}
}

siêu dễ. Thật tuyệt, bây giờ chúng đã được lật, hãy chuyển đổi chúng trở lại thành số thập phân

Bây giờ đây là nơi nó có một chút thú vị. Và điều quan trọng cần lưu ý ở đây là khi bạn sử dụng toString(), nó thực sự sẽ không nhận ra số của bạn là số nhị phân theo mặc định

Nếu bạn sử dụng 010. toString(10), nó sẽ trả về 10

Sử dụng ParseInt()

Trong JavaScript, chúng ta có hàm parseInt và trong tham số thứ hai của nó, bạn thực sự có thể cho JavaScript biết nó nằm trong trường hợp số nào và sau đó trả về giá trị đó ở dạng thập phân, cực kỳ hữu ích phải không?

ParseInt(10, 2) // reads 10 as base 2 and returns decimal

Vì vậy, chúng tôi có số 10, sau đó chúng tôi nói với JavaScript rằng nó ở cơ số 2 và chuyển đổi nó thành số thập phân (mặc định)

Khi bạn viết một số. giả sử 132, có một sự hiểu ngầm về ý nghĩa của 132. Nó có nghĩa là có 132 con bò, 132 năm, v.v.

Một điều mà có lẽ bạn chưa từng nghĩ đến là cách chúng ta với tư cách là một xã hội thống nhất với nhau về cách thể hiện 132 năm đó — Bằng cách viết ba chữ số 1,3 và 2 theo thứ tự

Dãy số cho ta biết tính tổng 2, 30 và 100 để đếm số bò. Chúng tôi chấp nhận sự thật này, nhưng xã hội của chúng tôi đã mất rất nhiều thời gian để đến được đây. Hãy xem xét một số ví dụ thay thế trước khi đi sâu vào chủ đề hiện tại

Nhớ cách viết 111 để đếm 3 khi học phép chia ở trường? . Nhưng dài dòng quá. Để viết số 123, bạn phải thực hiện 11111…. 123 lần. khó quá

Chữ số La Mã là một dạng biểu diễn khác đã được sử dụng từ rất lâu trong lịch sử loài người chúng ta. Chữ số La Mã được biểu diễn bằng các ký tự. Ví dụ: số 49 được biểu thị là IL

hóa ra - có một thuật ngữ chỉ cách biểu diễn các số. Viết 111. để đếm số Cơ sở 1. Điều này có nghĩa là chúng ta chỉ có thể sử dụng 1 chữ số hoặc ký tự để biểu thị số. Thứ mà máy tính của chúng tôi luôn sử dụng là Base 2. Máy tính có thể sử dụng 0 hoặc 1 để biểu diễn các số. Điều này là do thực tế là thành phần cơ bản của bất kỳ máy tính nào - bóng bán dẫn, có thể đại diện cho hai trạng thái. Bật hoặc tắt

Hệ thống số của chúng tôi được sử dụng hàng ngày (123 để đếm 123 con bò) là cơ số 10. Lý do chúng tôi tiếp tục sử dụng nó là vì phép toán với 10 điểm rất dễ dàng đối với con người chúng ta. Trong cơ số 10, chúng ta có thể biểu diễn các số có 10 chữ số

Như bạn có thể tưởng tượng, cơ sở càng cao thì biểu diễn càng dày đặc thông tin.

Đại diện cho 123 trong cơ sở 2 trông giống như 1111011

Đại diện cho 123 trong cơ sở 12 trông giống như a3

Khi bạn có được sự hiểu biết trực quan về các cơ sở này, bạn sẽ bắt đầu hiểu rõ về cách bắt đầu chuyển đổi cơ sở này sang cơ sở khác

Tôi sẽ để bạn xem video youtube này để tìm hiểu cách thực hiện việc này theo cách thủ công

Javascript cung cấp một chức năng rất tiện dụng để chuyển đổi sang các cơ sở khác nhau bằng cách sử dụng các phương thức parseInt và toString

Nếu bạn muốn chuyển đổi bất kỳ số cơ số 10 nào thành cơ số khác, hãy sử dụng

(123).toString(2)
// 1111011
(123).toSting(3)
// 11120
(123).toString(10)
// 123

Nếu bạn muốn chuyển đổi bất kỳ biểu diễn chuỗi nào của bất kỳ cơ số nào thành số cơ số 10, hãy sử dụng parseInt với đối số cơ số