一、各进制赋值

1.十六进制赋值

  int i=0x12AD;

  int i=0X12AD;

  int i=0x12Ad;

  int i=0X12Ad;

  //以上都是十六进制,表示十进制173;

2.八进制赋值

  int num=017;

  //数字前面加0就是8进制,017表示十进制15,若写018则编译出错。(error C2041: 非法的数字“8”(用于基“8”))

二、int/char/string转换

1.char*/char[]转int:atoi()

  char* a="154";    int i=atoi(a);   //成功

  char a[]="154";    int i=atoi(a);   //成功

  char* a="abc";     int i=atoi(a);   //i=0,也没出错

2.int转char[](转char*老崩溃)

  int n=154;

  char p[10];

  itoa(n,p,16);  //非STL,vs里能用,一些在线oj不能用

  //十六是进制,可以自己指定。结果:p=“9a”;

3.char*/char[]转string

  char*/char[] p="dsdsdsd";

  string str=p;//直接赋值就行

4.string转char*

  string p="ewqewq";

  const char* o=p.c_str();//必须得是const

5.string/int互转

  通过char即可;

三、sscanf/sprintf(c语言)

  scanf:把键盘输入的数据给指定变量;

  printf:打印指定变量至屏幕;

  sscanf:把某const char*的数据给指定char*变量;

  sprintf:把数据输入到指定char*。

1.sscanf():int sscanf(const char *buffer, const char *format, [argument ]...);

  e.g.char buf[512] ;
    sscanf("123456 ", "%s", buf);
    printf("%s\n", buf);
    结果为:123456

  e.g.sscanf("123456 ", "%4s", buf);
    printf("%s\n", buf);
    结果为:1234

2.sprintf():int sprintf(char *buffer, const char *format, [argument] … );

  格式控制符的类型要和后面argument的类型一样。

  sprintf(s, "%d", 123);  //把整数123打印成一个字符串保存在s中,

  sprintf(s, "%8x", 4567);  //小写16进制,宽度占8个位置,右对齐

  sprintf(buf, "fdsafsdf");

  char a = 'a';    sprintf(buf, "The ASCII code of a is %d.", a);

四、位操作运算

  位操作只能用于整形数据,对实类型进行位操作会被编译器报错。

1.&(与操作)

  int i=100;(二进制1100100)

  则i&1=0;//只是最后一位和1进行与运算,所以可以判断奇偶性;

2.^(异或,两者不同则为1)

  void Swap(int &a, int &b)  
  {  
      if (a != b)  
      {  
          a ^= b;  
          b ^= a;  
          a ^= b;  
      }  
  }  //交换两个数不用第3个变量

3.移位

  e.g.int n=98;

n=n>>1;//n=49;

  <<各二进位全部左移若干位,高位丢弃,低位补0

  >>各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)

C/C++ 各进制赋值、int/char转换、sscanf/sprintf、位操作运算的更多相关文章

  1. Java 整数型的进制间的互相转换

    /** * 整数型, 进制间的互相转换 */ public class IntConversion { public static void main(String[] args) { int num ...

  2. c# 16进制转int

    //十进制转二进制Convert.ToString(69, 2); //69为被转值//十进制转八进制Convert.ToString(69, 8); //69为被转值//十进制转十六进制Conver ...

  3. Java中byte与16进制字符串的互相转换

    * Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...

  4. [转]Java中byte与16进制字符串的互相转换

    Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...

  5. 进制与ASCII码转换

    LabeledEdit4.Text := chr(); // 用十进制方式赋值: ASCII码转换为字符 65 -> A LabeledEdit4.Text := #; // 用十进制方式赋值: ...

  6. Java Hex 16进制的 byte String 转换类

    package mobi.dzs.android.util; import java.util.Locale; /** * 16进制值与String/Byte之间的转换 * @author Jerry ...

  7. 字符串/16进制/ASCII码的转换

    1 /// <字符串转16进制格式,不够自动前面补零> 2 /// 假设文本框里面填写的是:01 02 03 04 05 06 3 /// Str获取的是01 02 03 04 05 06 ...

  8. python中2进制、10进制、16进制等之间的转换

    10转2: bin(8) # '0b1000' 2转10: int( 10转16: hex(15) # '0xf' 16转10: int( 2进制和16进制中间通过转10进制可以相互转换 from b ...

  9. PHP中进制之间的互相转换

    常见的进制: 二进制   binary   ----->  bin 八进制   octal     ----->  oct 十进制   decimal ----->  dec 十六进 ...

随机推荐

  1. 浏览器同部署了https的服务器交互的过程

    1 浏览器发起https请求 2 https服务器发送自己的公钥给浏览器 3 浏览器用https服务器发送过来的公钥加密一个用于双方通信的的对称密码 4 https服务器用自己的私钥解密,获取对称密码 ...

  2. 并不对劲的bzoj4560:p3269:[JLOI2016]字符串覆盖

    题目大意 \(T\)(\(T\leq10\))组询问 每组询问给出一个字符串\(A\)(\(|A|\leq10^4\)),\(n\)(\(n\leq4\))个\(A\)的子串\(B_1,B_2,B_3 ...

  3. 在selenium中一些相对常用的JavaScript事件

    输入框输入: 1.找到输入框的id,然后进行输入操作 ordinal :输入框的id parameter :需要输入的内容 browser.execute_script("document. ...

  4. Ruby 动态生成变量

    创建: 2018/03/21 更新: 2018/03/22 把标题ruby首字母大写 方法一: eval将字符串作为代码执行, 故写在里边 eval("@#{view_name.to_s} ...

  5. vue2.0构建单页应用最佳实战

    链接: https://www.tuicool.com/articles/me6RJfF

  6. 我理解的 js 异步成长总结

    本文是自己的理解,如果有错误的地方,还请各路大神指出 首先说下我最常用的 Promise getHandlePickupQrPromise() { // 定义返回 Promise对象 // Promi ...

  7. Luogu P2327 [SCOI2005]扫雷【递推/数学】By cellur925

    题目传送门 推了好久啊.看来以后要多玩扫雷了qwq. 其实本题只有三种答案:0.1.2. 对于所有第一列,只要第一个数和第二个数确定后,其实整个数列就确定了,我们可以通过这个递推式得出 sec[i-] ...

  8. [洛谷2839/国家集训队]middle

    Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整.给你一个长度为n的序列s.回答Q个这样的询问:s的左端点在[a,b]之 ...

  9. 简单水题 POJ 2291 Rotten Ropes

    题目传送门 /* 我校oj的源题,看懂题意就很水,贴出来省的再敲:) */ #include <cstdio> #include <algorithm> #include &l ...

  10. Fighting

    class Demo { public static void main(String[] args) { int a=3,b=8; int c=(a>b)?a++:b++; System.ou ...