ios进制

//
//  main.m
//  LesssonScale
////  Copyright (c) 2015年 池海涛. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

      以10为例,不同进制的表示方法
     十进制: 10
     二进制:0b10;
     八进制:010
     十六进制:1x10;
     int  a = 0b100;
     printf("%0x\n",a);

      如何输出进制数:
     %d ------十进制
     %o  ------八进制
     %0x  ------十六进制

      位运算符 :按位 &,按位或 |,按位非 ~,按位异或 ^,左移<<,右移>>
     按位与 & :同1为1,否则为0,经常用于对某一位清零

     int a = 5 & 7;
     5--0101
     7--0111
       =0101=5
     printf("a = %d\n", a);

     按位或 | : 同0为0,否则为1.经常用于保留某一位.
     int a = 5 | 7;
     5--0101
     7--0111
       =0111
     printf("a = %d\n", a);

     按位异或 ^相同为0,不同为1.
     int a = 5 ^ 7;
     5--0101
     7--0111
       =0010 = 2
     printf("a = %d\n", a);

     按位非 ~;
     char b = ~4;   //4--0000 0100, ~4=1111 1011 -1 ->1111 1010 ->1000 0101 =-5
     printf("b = %d\n", b);

     如果是一个有符号位的数,这最高位代表符号位,1 代表 负数, 0 代表正数

     数据在内存中存储时,是以补码的形式存储的,正数的补码是正数的本身,负数的补码是
     绝对值 取反 加1.

     数据类型的取值范围:
    根据char的取值范围和unsigned char的取值范围的位数,如char和unsigned char都是8位,char型最高位是符号位,1代表为负数,所以为-2^7-1~~+2^7-1  即-128~+1    27  ,而unsigned char为2^8-1=256    即0~255
无符号: char 0-----255 (2的8次方减1) short 0-----2的16 - 1; int 0-----2的32 - 1; 有符号: char -2的7次方 --- 2的7次方 - 1 short -2的15次方 --- 2的15次方 - 1 int -2的31次方 --- 2的31次方 - 1 左移 << unsigned char d = 1; printf("左移后的结果%d\n", d << 4 ); 右移 >> unsigned char e = 255; printf("右移后的结果%d\n", e >> 1); //将100 高四位,低四位互换  unsigned char number = 0b01100100; //1.先将 number 左移 4位 unsigned char left = number << 4; //2.再将 number 右移 4位 unsigned char right = number >> 4; //3.按位或  unsigned char result = left | right; printf("result = %d\n", result); 将 10010010 奇偶位互换 unsigned char num = 0b10010010; //清零操作使用 按位&, 保留的数位为1 ,清0 数的位为 0 //1.将奇数位变成偶数位,左移一位  unsigned char life = num << 1; //2.保留偶数位, 奇数位清0  unsigned char clearJI = life & 0b10101010; //3.将偶数位变奇数位, 右移1位  unsigned char rightNew = num >> 1; //4.保留奇数位,偶数位清0  unsigned char clearOU = rightNew & 0b01010101; //5.按位或 |  unsigned char resultNew = clearJI | clearOU; printf("resultNew = %d \n", resultNew); 栈区内存分配原则:由高到底分配,有低到高存取. int a = 10; printf("%p\n",&a); int b = 10; printf("%p\n",&b); //数组名代表数组的首地址,也就是数组的第一个元素的地址,是一个常量地址 int a[4] = {9, 5, 2, 7}; printf("%p\n",&a[0]); printf("%p\n",&a[1]); printf("%p\n",&a[2]); printf("%p\n",&a[3]); printf("%p\n",a); a=1010 b=1100 a=0110 b=1010 //交换两个变量 int a=10,b=12; //a=1010^b=1100; a=a^b; //a=0110 //找到a和b中不相同的位 b=a^b; //b=1010 //原b和ab不相同异或 -> a =1010 a=a^b; //a=1100 //  printf("a = %d\nb = %d", a, b); return 0; }
时间: 2024-08-04 00:33:15

ios进制的相关文章

iOS 进制转换(2转10,10转16)

1.     2进制转10进制 NSString * nb = @"110000000000000000000000000000010100000000100000"; long nice = strtol([nb UTF8String], NULL, 2); NSLog(@"nict==%ld", nice); 2.    10进制转16进制 NSString * hexString=[[NSString alloc]initWithFormat:@"%

iOS --- UIColor中使用16进制选取颜色

iOS中的UIColor可以使用16进制来选取颜色. 预先定义如下: #define UIColorFromHex(s) [UIColor colorWithRed:(((s & 0xFF0000) >> 16))/255.0 green:(((s & 0xFF00) >> 8))/255.0 blue:((s & 0xFF))/255.0 alpha:1.0] 使用方法: view.backgroundColor = UIColorFromHex(0xdc

iOS开发时间戳与时间NSDate,时区的转换,汉字与UTF8,16进制的转换

http://blog.sina.com.cn/s/blog_68661bd80101njdo.html 标签: ios时间戳 ios开发时间戳 ios16进制转中文 ios开发utf8转中文 ios汉字转utf8和16进   //获取当前系统的时间戳+(long)getTimeSp{    long time;    NSDate *fromdate=[NSDate date];    time=(long)[fromdate timeIntervalSince1970];    return

iOS开发-从16进制颜色中获取UIColor

目前iOS中设置UIColor只能使用其枚举值.RGB等方法,不能直接将常用的16进制颜色值直接转为UIColor对象,所以写了点代码,将16进制颜色值转为UIColor. 代码如下, //头文件#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface TextServcie : NSObject +(UIColor *) getColorFromHEX:(NSString *)hex; @end .m

iOS蓝牙中的进制转换

Bluetooth4.0.jpg 最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习惯的计数方式是10进制,为了节省空间,蓝牙也会把16进制(NSData)拆成2进制记录.这里我们研究下如何在他们之间进行转换. 假设我们要向蓝牙发送0x1B9901这条数据 Byte转NSData Byte value[3]={0}; value[0]=0x1B; value[1]=0x99; value[2]=0x01; NSData * data

iOS根据16进制的色号来设置颜色,适合封装工具类

iOS中有时候UI给的一个色号就像 #54e1b7 这个,而我们一般设置颜色都是根据RBG来设置的,所以这里需要把这个16进制的色号转为RGB值,这里我们就使用一下的方法来调用设置颜色. 1 + (UIColor *)getColor:(NSString *)hexColor 2 { 3 if (hexColor == nil || hexColor.length == 0) { 4 NSLog(@"color string is nil."); 5 return [UIColor b

iOS开发中16进制颜色(html颜色值)字符串转为UIColor

//16进制颜色(html颜色值)字符串转为UIColor +(UIColor *) hexStringToColor: (NSString *) stringToConvert { NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; // String should be

安卓、IOS端AEC密钥加密 Java端密钥解密通用实现(16进制表现形式)

由于业务需求,需要实现在客户端对重要信息进行加密,在服务端进行解密.客户端包括IOS和安卓的 服务端位Java. 注意密钥 需要保持一致,可以自己定义 . 安卓端加密代码: ===================================================================================================================== import android.util.Base64; import java.io.Un

[iOS]把16进制(#871f78)颜色转换UIColor

// // ViewController.m // text // // Created by 李东旭 on 16/1/22. // Copyright © 2016年 李东旭. All rights reserved. // #import <UIKit/UIKit.h> #import "ViewController.h" // 定义个宏,方便实用,>> 16 的意思是把16进制转换成2进制后,右移16位(移动掉的直接舍弃) #define UIColorF