Có người nói :
Còn ở trong các giáo trình thì lại viết hoàn toàn khác !PHP Code:Để kiểm tra một số dương có phải là số lẻ không thông thường ta dùng câu lệnh:
CODE
if (n%2 == 1) {/*làm gì đó*/}
Tuy nhiên có một cách làm tối ưu hơn cho vấn đề trên đó là câu lệnh:
CODE
if (n&1) {/*làm gì đó*/}
Đây là cách AND bit nhị phân. n&1 sẽ cho gí trị của bit cuối cùng. Nếu bít cuối cùng là 1 thì n&1 = 1 ngược lại sẽ bằng 0.
nếu a=7 b=14 c=a&b
thì c = 6
g giáo trình thì viết là nó là 1 phép tính và trả về số nguyên có cùng kick thước (số bit) với 2 toán hạng
???????????????????????????????????????????????
Mong các bạn trong cộng đồng giúp đỡ !
Thân
langman
Thấy cũng đúng chứ, có sai gì đâu, thắc mắc ở đây là gì vậy.
Đây nhé:
Số 7 chuyển sang nhị phân là: 0111 (Với 4 bit)
Số 14 chuyển sang nhị phân là: 1110 (Với 4 bit)
Khi sử dụng phép AND(&) thì ta sẽ thu được: 0110
0110 chính là số 6 trong hệ Decimal mà, sai gì đâu ta?
---------------------------------
Còn chuyện xác định chẵn lẽ cũng vậy:
(Hình như Dr cũng không để ý vụ này ha)
Một số lẻ sẽ có bit cuối cùng là 1
Một số chẵn có bít cuối cùng là 0
(Các bạn kiểm tra lại thông tin này, xem có chính xác không nhé)
ở đây Dr chỉ lấy ví dụ là một một số chỉ có 4 bít thôi, nó sẽ có dạng:
Số lẻ: xxx1
Số chẵn: xxx0
Số 1 chuyển sang nhị phân là 0001
Vậy ta làm một phép AND(&) 1, thì chắc chắn thu được 0001 nếu là số lẻ, và 0000 nếu là số chẵn. Đúng chứ có sai gì đâu, vấn đề nằm ở chỗ phải hiểu nó.
Thế nào, như thế nghe có vẻ là rõ rồi chứ?
Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó.Email: kevin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
Phone: 0972 89 7667
Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp hoặc bị sự thiếu kỷ luật làm tiêu tan sự nghiệp.