Để bắt đầu, hãy để chúng tôi hiểu những số không ở cuối trong một số nhị phân là gì.
Các số không ở cuối
Vị trí của các số không sau một số không đầu tiên từ bit ít quan trọng nhất (LSB) được gọi là các số không ở cuối trong số nhị phân.
Ví dụ
104 là số thập phân
Số nhị phân của 104 là:(MSB) 1101000 (LSB)
Đây,
- MSB đề cập đến Bit quan trọng nhất.
- LSB đề cập đến Bit ít quan trọng nhất.
- Từ LSB sau tập bit đầu tiên, có ba số 0.
- Số lượng số không ở cuối là ba.
Ví dụ
Sau đây là chương trình để đếm số lượng các số không ở cuối cho một số nhất định -
#include<stdio.h> #include<stdlib.h> int main(){ int number, i, trail = 0, size; printf("Enter a number\n"); scanf("%d",&number); size = sizeof(number) * 8; for(i = 0; i < size; i++){ if((number >> i) & 1) { break; } trail++; } printf("Number of trailing ZERO is = %d", trail); return 0; }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
Enter a number 24 Number of trailing ZERO is = 3
Các số 0 ở đầu
Nếu vị trí của 0 trước bit được đặt thành một , chúng được gọi là số 0 ở đầu.
Ví dụ
94 là số thập phân.
Số nhị phân của 94 là:(MSB) ..... 001011110 (LSB)
Số ZERO hàng đầu là =25
Chương trình
Dưới đây là chương trình để đếm số lượng các số không ở đầu cho một số nhất định.
#include<stdio.h> #include<stdlib.h> int main(){ int number, i, lead = 0, Msb,size; printf("Enter a number\n"); scanf("%d",&number); size = sizeof(number) * 8; Msb=1<<(size-1); for(i = 0; i < size; i++){ if((number << i) & Msb) { break; } lead++; } printf("Number of Leading ZERO is = %d", lead); return 0; }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
Enter a number 94 Number of Leading ZERO is = 25