bool에 정수가 들어가면 True False로 자동형변환이 되고 True가 대입됨 - dc App
정수가 0이 아니면 전부 true로 간주함 - dc App
어케 0이아닌지 구분함?
0이 아닌 모든 정수는 True로 변환한다고 - dc App
애초에 코드에 리터럴 상수로 넣으니 눈으로 구분되지 - dc App
char i=256; 하면 i의 비트값이 00000000잖음 그래서 bool도 비트값이 00000000으로 저장되는거아님? bool은 8비트니까 무조건 오버플로우 계산한뒤에 0인지 아닌지 계산하는거아님?
아아 이해함 컴파일러에 리터럴 상수의 기본 자료형이 int형이라 그래 컴파일러가 코드를 스캔할 때 256을 먼저 int로 wrap하고 임시로 저장해놓고 이거를 bool로 넣을 때 int형 256을 bool형 true로 바꿈 - dc App
똑같이 int형 256을 char형 256으로 변환함 - dc App
파싱하는 기본 자료형이 정수는 int이고 소수는 float인가 double인가(둘중 하나인디 잘기억안남) - dc App
그래서 C언어에서 리터럴 상수 쓸 때 10000000000L 이런식으로 뒤에 L붙여서 long타입인걸 명시함 - dc App
명시안하면 기본 자료형으로 파싱하고 - dc App
10 > 2 이런거 연산할때0000 10100000 0010 이렇게해서 MSB부터해서 비교하면서 먼저 1있는게 더 크다고 판단하잖음그럼 0인지 아닌지는int형 256일경우에00000000 00000000 00000001 00000000에서 MSB부터 차례대로 1있는지 확인하는거임? 1있으니깐 이건 ture되고그럼 기본적으로 리터럴을 int형으로 해석하니깐 2^31이면 0될수 있는거네?그래서 L붙혀서 long타입 명시이런거하는거고?
개행인식안하네
ㅇㅇ맞음 컴파일러마다 좀 다르긴한데 long a = 2^33 L 에서 L 안붙이면 int로 파싱해서 정상적인 값이 안나올걸? 컴파일러마다 다를 순 있긴한데 c에서 그렇게 배움 - dc App
ㄱㅅ
결론은 256을 맨처음에는 int로 인식해서 오버플로우가 안난다는 것 - dc App
bool에 정수가 들어가면 True False로 자동형변환이 되고 True가 대입됨 - dc App
정수가 0이 아니면 전부 true로 간주함 - dc App
어케 0이아닌지 구분함?
0이 아닌 모든 정수는 True로 변환한다고 - dc App
애초에 코드에 리터럴 상수로 넣으니 눈으로 구분되지 - dc App
char i=256; 하면 i의 비트값이 00000000잖음 그래서 bool도 비트값이 00000000으로 저장되는거아님? bool은 8비트니까 무조건 오버플로우 계산한뒤에 0인지 아닌지 계산하는거아님?
아아 이해함 컴파일러에 리터럴 상수의 기본 자료형이 int형이라 그래 컴파일러가 코드를 스캔할 때 256을 먼저 int로 wrap하고 임시로 저장해놓고 이거를 bool로 넣을 때 int형 256을 bool형 true로 바꿈 - dc App
똑같이 int형 256을 char형 256으로 변환함 - dc App
파싱하는 기본 자료형이 정수는 int이고 소수는 float인가 double인가(둘중 하나인디 잘기억안남) - dc App
그래서 C언어에서 리터럴 상수 쓸 때 10000000000L 이런식으로 뒤에 L붙여서 long타입인걸 명시함 - dc App
명시안하면 기본 자료형으로 파싱하고 - dc App
10 > 2 이런거 연산할때0000 10100000 0010 이렇게해서 MSB부터해서 비교하면서 먼저 1있는게 더 크다고 판단하잖음그럼 0인지 아닌지는int형 256일경우에00000000 00000000 00000001 00000000에서 MSB부터 차례대로 1있는지 확인하는거임? 1있으니깐 이건 ture되고그럼 기본적으로 리터럴을 int형으로 해석하니깐 2^31이면 0될수 있는거네?그래서 L붙혀서 long타입 명시이런거하는거고?
개행인식안하네
ㅇㅇ맞음 컴파일러마다 좀 다르긴한데 long a = 2^33 L 에서 L 안붙이면 int로 파싱해서 정상적인 값이 안나올걸? 컴파일러마다 다를 순 있긴한데 c에서 그렇게 배움 - dc App
ㄱㅅ
결론은 256을 맨처음에는 int로 인식해서 오버플로우가 안난다는 것 - dc App