Để 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