inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Khóa học giới thiệu về lập trình Java (renew ver.) - Từ người mới bắt đầu đến việc làm nhà phát triển!!

kiểu dữ liệu cơ bản

명시적 형변환 데이터 누실

350

selgi e

3 câu hỏi đã được viết

3

int iVAr = 123456;

byte bVar = (byte)iVar;

System.out.println("bVar = " +bVar);

을 돌리면 bVar = 64 가 나오는 계산 과정이 이해가 안돼요ㅜㅜ

byte가 지원되는 숫자가 +- 128 까지라 이 이상의 숫자는 짤린다는건 알겠는데

어떤 계산과정을 거쳐서 ’64’라는 숫자가 도출되는지 아시는 분 있으면 답변 부탁드려요

java

Câu trả lời 3

8

kjmlx35169

int는 4byte라 총 64비트로 표현하는데요
123456은 2진수로
0000 0000 0000 0001 1110 0010 0100 0000 입니다.
여기서 byte로 형변환을 하면 1byte 즉 8비트만 표현하는데요
뒤에서 8개만 남고 나머진 버려져 0100 0000 입니다.
그래서 10진수로 64입니다.

3

birdsummoner

윗윗댓글 오타네요. 1byte = 8bit라 4byte = 32bit입니다. 

2

jhicobrix0611

int는 4 byte라 총 32 bit으로 표현되지 않나요?

서식 문자 실습 중 콘솔 결과값 글자 깨짐

0

577

1

19-4 : super 클래스 부분에서

0

398

1

비트를 뒤에서부터 읽으셔서 궁금해서 질문드립니다!

1

676

1

배열예제 오류

0

411

1

GC 동작시기가 궁금합니다.

0

384

0

자바 18버전으로 다운받아도 되나요?

0

544

1

클래스 생성과 관련하여 질문 있습니다

0

275

0

형변환시 신규 메모리가 할당 되는지

0

356

0

Socket을 null로 처음에 선언해주는 이유가 뭘까요?

0

307

0

반환값 용도

0

350

1

블로그 작성

0

325

0

삼항연산자 잘못 적으셨어요

0

269

1

어느것부터 다운로드를 해야하는지 좀 막히네요

0

363

1

inputStream.read()질문드립니다

0

332

1

System.out.println("i + j = " + (i+j); 이렇게 쓰는 이유가 뭔가요? " "i + j " = (i +j)라고 쓸수 있는거 아닌가요?

0

373

1

<for문> 예시 작성시 에러발생 질문드립니다

0

587

2

이해가 안가는 부분이 있습니다.. 선생님들.. 도와주세요..!!

0

325

1

인터페이스를 사용 하는 이유가 무엇인가요?..

0

749

1

혹시 영상 만드시고 업로드 전 확인 안하시나요..? 잡음..

1

308

1

이해가 안가는게 있습니다

0

319

2

jdk-16.0.1은 jre가 없이 jdk만 설치되는게 정상인가요?

0

502

1

메모장을 실행하실때

0

322

1

강의 중 말씀해주신 형변환된 코드가 알고 싶어요.

0

245

2

메모장이안돼요 처음에

0

286

0