首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言實例練習

C語言練習實例54:提取整數右端第4-7位(位運算)

     編輯:C 語言實例練習

C語言練習實例54:提取整數右端第4-7位(位運算)

本實例演示如何使用位運算提取一個無符號整數從右端(低位)開始的第 4 到第 7 位(共 4 位)。

步驟解析

  1. 右移 4 位:b = a >> 4,目標位移至最低 4 位。
  2. 構造掩碼:c = ~(~0 << 4) 得到低 4 位為 1、其餘為 0 的數(即 0xF)。
  3. 按位與:d = b & c 保留低 4 位,其餘清零。

源代碼

// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>

int main() {
    unsigned a, b, c, d;
    printf("請輸入整數:\n");
    scanf("%o", &a);  // 八進制輸入
    b = a >> 4;
    c = ~(~0 << 4);
    d = b & c;
    printf("%o\n%o\n", a, d);
    return 0;
}

運行示例

請輸入整數:
36
36
1

輸入八進制 36(二進制 011 110),右移 4 位得 0,低 4 位為 1,輸出 1。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved