program ch0507 ! ! use the bit functions in Fortran to write out a ! 32 bit integer number as a sequence of ! zeros and ones ! implicit none integer :: j integer :: i integer ( selected_int_kind( 2)) :: i1 integer ( selected_int_kind( 4)) :: i2 integer ( selected_int_kind( 9)) :: i3 character (Len=32) :: i_in_bits print *,' type in an integer ' read * , i i1=int(i,kind(2)) i2=int(i,kind(4)) i3=int(i,kind(9)) i_in_bits=' ' do j=0,7 if (btest(i1,j)) then i_in_bits(8-j:8-j)='1' else i_in_bits(8-j:8-j)='0' end if end do print *,' 1 2 3' print *,'1234567890123456789012345678901234567890' print *,i1 print *,i_in_bits do j=0,15 if (btest(i2,j)) then i_in_bits(16-j:16-j)='1' else i_in_bits(16-j:16-j)='0' end if end do print *,i2 print *,i_in_bits do j=0,31 if (btest(i3,j)) then i_in_bits(32-j:32-j)='1' else i_in_bits(32-j:32-j)='0' end if end do print *,i3 print *,i_in_bits end program ch0507