C语言高级程序设计——进制算法以及位算符号
语言不够官方;意会;
数据储存运算是以二进制的,二进制数有原码 反码 补码三种。通常所说的二进制就是原码。(语言不官方)
原码 :4的原码可以为:0000 0100;最高位0 可以为符号数
反码:正数和原码相同,负数的符号位不变,其余位0变1,1变0
补码:正数和原码相同,负数的补码在反码的基础上加1(二进制存储是以补码来存的)
二进制八进制互转
二转八:三位转一位;八转二:一位转三位;
二进制十进制互转
二转十:按照8 4 2 1乘以各个位置数字;十转二:整数部分累除2取余数法,小数部分乘2取整法
二进制十六进制互转
二转十六:四位转一位;十六转二:一位转四位;
八进制十进制互转
八转十:同二转十原理相同;十转八:同十转二原理相同
八进制十六进制互转
以二进制为中间量互转。
十进制十六进制互转
十转十六:除以16取余,十六转十:乘以16取整
数据类型
short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。
类型转换
&:位与运算 两边都为1结果才能为1
|: 位或运算 只要一边为1结果就为1
^: 位异或运算 相同结果为0,不同为1
~: 位取反运算 0变1,1变0
<<:左移运算
>>:右移运算
在C语言中 对于无符号数,左移运算时右侧补0;右移运算时左侧补0; 对于有符号数,左移运算时右侧补0;右移运算时左侧补符号位; 在嵌入式中,规定移位都是无符号的(unsigned)。
以上都是知识点,有基础才能看懂!
在C语言中,重要的是多算。
C语言高级程序设计——进制算法以及位算符号的更多相关文章
- C语言学习笔记:15_c语言中的进制操作.c
/* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...
- Python语言中各种进制相互转换
目录 Python语言中各种进制相互转换 将二进制.八进制.十进制的数分别转换成十进制的方法 将十进制转换成二进制.八进制.十六进制 Python语言中各种进制相互转换 本文参考自https://ww ...
- 转成p进制算法C语言
今天打比赛的时候竟然下一没有想起来, 实际上是非常简单的. 举例说明: $64 = 2 \times 3^3 + 1 \times 3^2 + 3^0$ 根据秦九韶算法每次提出3,即 $3(2 \ti ...
- c语言将2进制数转化为10进制数(栈的初始化,进栈,出栈)
//c语言描述 将2进制转化为10进制 #include <stdio.h> #include <stdlib.h> #include <math.h> #defi ...
- C语言编程的进制问题问题
在我们的编译器,我用的是ADS 开发平台,现在RTC模块编程时,2410作为上位机,如下代码: n = rBCDDATE;if(n==1) time->day =0x31 ; 波斯历的日期与 ...
- C语言:十进制进制转换为其他进制(思想:查表法)
// // main.c // Hex conversion // // Created by ma c on 15/7/22. // Copyright (c) 2015年 bjsxt. A ...
- C语言:其他进制转换为十进制(方法二)
#include<stdio.h> #include<math.h> #include<string.h> #include<ctype.h> //其他 ...
- C语言:其他进制数转换为十进制(方法一)
#include<stdio.h> #include<math.h> #include<string.h> //其他任意进制转换为十进制 int main() { ...
- C语言之任意进制的转换
我们都知道转换进制是一个让人比较头疼的事情,下面我的代码不是最好的,也就仅仅是一个思路而已,至少我认为使用栈来进行进制转换是比较合适的一种方法,好了,不多叙述了. #include<stdio. ...
随机推荐
- 201621123006 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 为你的系统增加网络功能(购物车.图书馆管理.斗地主等)-分组完成 为了让你的系统可以被多个用户通过网 ...
- The record of Rf module debugging (1)
In order to improve engineering English writing ability,start from today,record my daily work of el ...
- js在一定时间内跳转页面及各种页面刷新
1.js 代码: <SCRIPT LANGUAGE="JavaScript"> var time = 5; //时间,秒 var timelong = 0; funct ...
- JS 实战1(添加、删除)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs ...
- 深入__proto__和prototype的区别和联系
前话 有一个一个装逼的同事,写了一段代码 function a(){} a.__proto__.__proto__.__proto__ 然后问我,下面这个玩意a.__proto__.__proto__ ...
- 7-13 求链式线性表的倒数第K项(20 分)
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理). 输出格式 ...
- LG4719 【模板】动态dp 及 LG4751 动态dp【加强版】
题意 题目描述 给定一棵\(n\)个点的树,点带点权. 有\(m\)次操作,每次操作给定\(x,y\),表示修改点\(x\)的权值为\(y\). 你需要在每次操作之后求出这棵树的最大权独立集的权值大小 ...
- timescaledb 几个方便的api
timescaledb 提供了内置的api 操作,方便我们进行操作控制 hypertable 控制api add_dimension 向hypertable添加一个额外的分片方式,可以做为分片列有时间 ...
- Linux常用命令总结--不断补充
首先介绍一个很有用的命令:history 查看linux机器上历史命令. 在Linux下查看内存我们一般用free命令:free -m 查看硬盘状况:df -h 查看cpu信息:less /proc ...
- mysql表复制create table like和create table as比较
CREATE TABLE A LIKE B 此种方式在将表B复制到A时候会将表B完整的字段结构和索引复制到表A中来. CREATE TABLE A AS SELECT x,x,x,xx FROM B ...