PDA

View Full Version : Cách đổi số thập phân và nhị phân



OneLove
19-11-2003, 08:02 PM
các bác cho em hỏi cái về cách chia thập phân sang nhị phân,về cách chai thông thường thì em biết rùi ,nhưng mà thấy mấy bác trường em chia nhẩm nhanh thế,hỏi thì biết là có mẹo,các bác bảo em với,chứ kg thì chia kiểu kia lâu lắm

chipchipzzz
19-11-2003, 08:29 PM
Hi OneLove,
bạn thấy 1 ô của địa chỉ IP gồm 8 bit, tương ứng các bit từ 0 đến 7 sẽ là các con số 0 & 1

0 : 2º=1
1 : 2¹=2
2 : 2²=4
3 : 2³=8
4 : 2^4=16
5 : 2^5=32
6 : 2^6=64
7 : 2^7=128

Thay vì cách đổi thông thường từ thập phân dùng phép chia cho 2, hoặc ngược lại từ nhị phân đổi ra thập phân dùng phép nhân cho 2, chúng ta có cánh tính nhanh hơn đó là dùng phép trừ hoặc cộng

vd: số 234 đổi ra nhị phân:
234-128=106 (trừ được ok, bit 7 =1)
106-64=42 (trừ được, ok, bit 6 =1)
42-32=10 (trừ được, ok, bit 5 =1)
10-16= (trừ không được, bit 4 =0)
10-8=2(trừ được ok, bit 3 =1)
2-4= (trừ không được, bit 2 =0)
2-2=0 (trừ được, ok, bit 1 =1)
0-1= (trừ không được, bit 0 =0)

ta có dãy số 234 chuyển ra nhị phân là 11101010

chuyển ngược lại áp dụng phép cộng các con số tại các bit = 1 của dãy nhị phân

Thân mến,

OneLove
19-11-2003, 09:49 PM
thanks bác chipchipzzz nhìu nhìu

Phoenixx
23-11-2003, 08:31 AM
:!: Mình cũng muốn cung cấp cho bạn một mẹo nữa về cách tính subnet và Brioadcast trong một range IP.
VD cho Ip 192.168.10.181 và SM là 255.255.255.192 thì bạn cứ việc lấy 255-192 =64 vậy thì cách chia Subnet này có các Net là bội của 64 đó là 0,64,128,192,256. vậy thì net của ip trên là 192.168.10.128 đúng không? và Broadcast cảu nó sẽ là 192.168.10.191 vì subnet gần nhất với 192.168.10.128 là 192.168.10.192. đây là các vấn đề thường thấy trong các câu text của CCNA. :!: :!:
Chúc vui vẻ

hateboy
23-11-2003, 11:59 AM
ui da :roll: , mình hỏng hiểu cách của Phoenixx, Phoenixx thử nói cụ thể hơn xem, giúp mình hiểu rõ ý của Phoenixx đi. Với logic của Phoenixx vỏn vẹn như trên thì làm cách nào để suy ra Net ID và Broad ID thì mình chưa hiểu.

Mình thì tính chính thống, thấy cũng nhanh lắm :

192.168.10.181/26 (255.255.255.192 là /26 )

+ /26 => xem thằng 192.168.10.181 : từ trái qua phải viết lại y chang 26 bit đầu, còn lại cho 000000 hết
=> lấy thêm 2 bit của octec cuối của thằng 192.168.10.181
octec cuối : 10........... ( vì nếu 11....... thì sẽ >192 rồi - mà đề chỉ cho là 181 thui ) => Net id Ld : 192.168.10.10|000000 (.128)

+ Broad id : 292.168.10.10|111111 ( . 191 ) ( lấy 255-64=191 hihihi 255 là toàn bộ 8 bit đều =1, 64 là giá trị của số 0 bit thứ 7 từ trái qua )

Cám ơn Phonix nhé

Hình như ý của Phenixx là như vầy phải hôn :
+ "và Broadcast cảu nó sẽ là 192.168.10.191 vì subnet gần nhất với 192.168.10.128 là 192.168.10.192 " : mình hiểu là :
(xét octec cuối thôi hén )
.10|000000 Net id .... .... .... . 128
............
.10|111111
.11|000000 Net id kế cận tiếp theo : .... .... ... . 192
=> .191 (192 -1 = 191) sẽ là broadcast id)


Cám ơn nha.

cvo15303
26-11-2003, 03:06 PM
:roll: :) :roll:
hateboy mến!
Trùi ui,phân tích cụ thể thế làm sao đủ giờ để làm bài.
Bạn cứ theo cách của Phoneix là ok thôi!
ta sẽ làm theo 3 bước:
1.Phân tích SM--->số bùa.Các subnet đều phải là bội số của con số này.Để làm tốt bước này,bạn cần phải thuộc lòng ánh xạ chipchipzzz đưa ra:
DEC Số bit Số bùa
128 1 2^(8-1)=2^7=128
192 2 64
224 3 32
240 4 16
248 5 8
252 6 4
2.dem giá trị DEC của octet cần xét so sánh với giá trị DEC của các subnet,gần thằng nào nhất thì nó thuộc thằng đó.
3.Sau khi xác định được subnet rồi,thì cứ lấy thằng subnet liền sau nó trừ đi 1 đơn vị thập phân là ra broadcast ngay
Ví dụ trên sẽ hiệu quả đồi với các class C ,thường gặp khi thi .
Tùy ý,bạn cí thể xây dựng riêng cho mình cách nhớ,nhưng đừng nên chối bỏ tính quy luật của cơ số nhị phân.
Nền tảng của BIN là bảng mã 8421 ,hiểu được quy luật rồi bạn sẽ chẳng cần phải nhớ gì đâu!
Chúa vui

cvo15303
04-12-2003, 04:40 PM
:roll: :) :roll:
it_email mến!
"Anh hùng như lá mùa thu
Tuấn kiệt như sau buổi sớm"
Trên đời có được mấy ai võ công cao như bạn,hehehe.
Đôi lúc mẹo cũng là cách để những người bị "chuối" như cvo tiếp cận vấn đề.
Mong được học được nhiều cái hay hơn từ bạn.
Mến!!!

inform
04-12-2003, 08:21 PM
Hi !
Cvo15303 lâu quá không gặp được u, dạo này đi công tác nhiều vậy ha.
Inform chuối quá nên tìm một cách tính cái này, chỉ trong khoảng 1 phút tính ra được IP NET, First IP, Last IP, IP Broacast.
Cũng gần giống như cách của Cvo đó ! :D

Hi hii

Bạn có thể loads cái này về kiểm tra mình làm có đúng không ?
Sau một thời gian bạn sẽ tính nhanh thôi ! :D
http://www.suctrevn.web1000.com/software/Subnet10.zip

Thân chào !