题目:学习使用按位取反~。
1.程序分析:~0=1; ~1=0;
2.程序源代码:
#i nclude "stdio.h"
main()
{
int a,b;
a=234;
b=~a;
printf("40: The a''s 1 complement(decimal) is %d
",b);
a=~a;
printf("40: The a''s 1 complement(hexidecimal) is %x
",a);
}
题目:取一个整数a从右端开始的4~7位。
程序分析:可以这样考虑:
(1)先使a右移4位。
(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)
(3)将上面二者进行&运算。
2.程序源代码:
main()
{
unsigned a,b,c,d;
scanf("%o",&a);
b=a>>4;
c=~(~0<<4);
d=b&c;
printf("%o
%o
",a,d);
}
题目:学习使用按位异或 ^ 。
1.程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
2.程序源代码:
#i nclude "stdio.h"
main()
{
int a,b;
a=077;
b=a^3;
printf("40: The a & b(decimal) is %d
",b);
b^=7;
printf("40: The a & b(decimal) is %d
",b);
} |
题目:学习使用按位或 。
1.程序分析:0 0=0; 0 1=1; 1 0=1; 1 1=1
2.程序源代码:
#i nclude "stdio.h"
main()
{
int a,b;
a=077;
b=a 3;
printf("40: The a & b(decimal) is %d
",b);
b =7;
printf("40: The a & b(decimal) is %d
",b);
}
题目:学习使用按位与 & 。
1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
2.程序源代码:
#i nclude "stdio.h"
main()
{
int a,b;
a=077;
b=a&3;
printf("40: The a & b(decimal) is %d
",b);
b&=7;
printf("40: The a & b(decimal) is %d
",b);
} |
关键字:c程序
引用地址:
经典c程序(10/20)
推荐阅读最新更新时间:2024-03-16 13:54
简单的加法计算器单片机c程序设计
/* //----------简单的加法计算器----------------- //------用数码管显示两位数的加法计算器;---------- //P0作为数码管的段码 //P1作为数码管的位码 //P2口作为矩阵键盘0----9,+,=;//本实训箱只有12个按键,P20---P26;P27未用; 先输入第一个数,当按+时,清屏,再显示输入的第二个数, 按=时,显示他们的和,再次按=数据清0; //本程序在普中单片机实训箱上通过 */ #include reg51.h #include intrins.h #define uint unsigned int #define uchar unsigned char
[单片机]
msp430单片机的ds18b20测温度c程序
#include msp430x16x.h #define DS18B20_DIR P2DIR #define DS18B20_IN P2IN #define DS18B20_OUT P2OUT #define DS18B20_DQ BIT3 //定义DS18B20的接口 #define DS18B20_DQ_2 BIT4 //定义另一个DS18B20的接口 // DS18B20 ROM命令宏定义 #define ReadRom 0x33 #define MatchRom
[单片机]
51单片机驱动点阵16*16间断显示C程序
#include reg52.h #define uchar unsigned char #define uint unsigned int #define LINE P0//定义行线IO口,即74HC154控制端 #define shudu 20//字移动的速度 sbit DATA=P1^4;//74HC595数据端 sbit CLK=P1^5;//74HC595移位脉冲端 sbit CLKR=P1^6;//74HC595数据锁存端 uchar move;//移动几位变量 uchar line;//行变量 uchar word;//字节变量 uchar ji;//字节变量 uchar code table ={ 0x00,
[单片机]
GPIO(二)C程序
@****************************************************************************** @ File:crt0.S @ 功能:通过它转入C程序 @****************************************************************************** .text .global _start _start: ldr r0, =0x53000000 @ WATCHDOG寄存器地址 mov r1, #0x0 str r1,
[单片机]
四位数码管显示的数字钟c程序自制
#include stc90.h #define uchar unsigned char uchar code shuzi ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0};//0 1 2 3 4 5 6 7 8 9 0 uchar code shuza ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0xc0};//0 1 2 3 4 5 0 uchar ss,dd,ff,gg,zz; uchar qq,ww,ee,rr,tt; uchar z,x,qw,qe,qr,as,fe; sbit a=P2^0;//锁存器1 sbit b=P2^1;
[单片机]
用PIC16F877A单片机驱动按键控制8个数码管的显示的C程序
经典按键控制数码管C程序 #include htc.h #define HC595_SER RB7 #define HC595_SCK RB6 #define HC595_RCK RB5 #define key_164_data RB3 #define key_164_clk RB2 #define key_com1 RB1 #define key_com0 RB0 #define TURE 1 bit key_finish; //定义的位变量,这是PICmate仿真软件
[单片机]
西门子PLC程序编程技巧分享
一、程序结构统一 OB1:主程序; OB100:初始化程序(无需主程序调用); OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块; OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程); FC1:系统模式; FC2:输入处理; FC3:输出处理; FC4:运行处理; FC5:停止处理; FC6:手自动切换; FC100:之后用来建立一些可以循环调用的子程序; FC105:系统自带,模拟量输入子程序(可以循环调用); FC106:系统自带,模拟量输出子程序(可以循环调用); modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SN
[嵌入式]
基于单片机与ds1302时钟芯片的电子闹钟C程序
程序已通过编译与测试 #include reg52.h #define w_second 0x80 //秒写入地址 #define w_minute 0x82 //分写入地址 #define w_hour 0x84 //时写入地址 #define w_day 0x86 //日写入地址 #define w_month 0x88 //月写入地址 #define w_week 0x8a //星期写入地址 #define w_year 0x8c //年写入地址 #define r_second 0x81 //秒读出地址 #define r_minute 0x83 //分读出地址 #define r_hour
[单片机]