만약 a=10101111(2진수-8bit) 이라면 a=275(8진수)입니다.
a를 풀어서 해석하면 a=1*2^8+0*2^7+1*2^6+0*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0 입니다. 여기까지가 이해가 되셔야 됩니다.
a=a<<3이라고 하면 shift left 3의 의미인데 왼쪽으로 3번 이동시키라는 의미입니다. 그러면 오른쪽의 빈공간이 생기는데 거긴 전부 0으로 채워집니다. 연산 후의 결과는 a=01111000(2진수) 이 되겠죠
앞의 없어진 101은 그냥 없어지는 겁니다. 그것이 오른쪽 뒤쪽에 붙는 것은 shift가 아니라 rotate라고 합니다. 어셈을 공부하시면 빠를 것 같네요. 그리고 쉬프트 명령어 중에 부호( +, - ) 비트를 보존하는 것이 있고 보존하지않고 부호 비트와 같이 쉬프트 시키는 명령어가 있습니다. 공부하시면 상당히 흥미로우실 겁니다. 어셈을 알면 C언어의 skill 이 몇 단계 업그레이드 됩니다^^
열시미 공부하세요~
남으로 창을 내겠소.
밭이 한참갈이 괭이로 파고 호미론 김을 메지요.
구름이 꼬인다 갈리있소. 새들의 노래는 공으로 들으랴오.
강냉이가 익거든 와자셔도 좋소.
왜 사냐건 웃지요.
어셈블리 책 보세요.2진수, 8진수, 16진수와 얘네들 변환하는거
어셈블리 책 보세요.
2진수, 8진수, 16진수와 얘네들 변환하는거도 알아야죠.
Written By the Black Knight of Destruction
타겟플랫폼의 레지스터에 대한 공부가 필요합니다.32비트? 64비트?
타겟플랫폼의 레지스터에 대한 공부가 필요합니다.
32비트? 64비트?
또한, Overflow, underflow 및 기초수치연산시 비트의
변화에 대한 고찰을 해봐야지요.
C의 표현?이것은 그 이후 표현방법론의 차이밖에는 없어요.
만약 a=10101111(2진수-8bit) 이라면 a=275(8진수)입니
만약 a=10101111(2진수-8bit) 이라면 a=275(8진수)입니다.
a를 풀어서 해석하면 a=1*2^8+0*2^7+1*2^6+0*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0 입니다. 여기까지가 이해가 되셔야 됩니다.
a=a<<3이라고 하면 shift left 3의 의미인데 왼쪽으로 3번 이동시키라는 의미입니다. 그러면 오른쪽의 빈공간이 생기는데 거긴 전부 0으로 채워집니다. 연산 후의 결과는 a=01111000(2진수) 이 되겠죠
앞의 없어진 101은 그냥 없어지는 겁니다. 그것이 오른쪽 뒤쪽에 붙는 것은 shift가 아니라 rotate라고 합니다. 어셈을 공부하시면 빠를 것 같네요. 그리고 쉬프트 명령어 중에 부호( +, - ) 비트를 보존하는 것이 있고 보존하지않고 부호 비트와 같이 쉬프트 시키는 명령어가 있습니다. 공부하시면 상당히 흥미로우실 겁니다. 어셈을 알면 C언어의 skill 이 몇 단계 업그레이드 됩니다^^
열시미 공부하세요~
남으로 창을 내겠소.
밭이 한참갈이 괭이로 파고 호미론 김을 메지요.
구름이 꼬인다 갈리있소. 새들의 노래는 공으로 들으랴오.
강냉이가 익거든 와자셔도 좋소.
왜 사냐건 웃지요.
댓글 달기