Исправьте в своем коде (di git здесь не является целым числом, поэтому, когда вы делите его на 10, получается 51,2, затем 5,12 и т. Д., Поэтому вы получаете INF в качестве вывода):
digit<-512
rev_num<-0
while(digit>0){
rev_num=rev_num*10 + digit %% 10
digit=as.integer(digit / 10)
}
print(paste(rev_num))
Другой подход к изменению числа:
z <- 4321
as.numeric(paste(rev(strsplit(as.character(z),"")[[1]]),collapse=""))