회문 번호를 확인하려면 숫자가 5이고 이진수가 −
101라고 가정해 보겠습니다. 101의 회문은 101이고 확인하려면 다음 함수를 사용하여 비트를 반전시켜야 합니다. 비트 오른쪽 시프트 연산자가 사용됩니다 −
public static long funcReverse(long num) { long myRev = 0; while (num > 0) { myRev <<= 1; if ((num & 1) == 1) myRev ^= 1; num >>= 1; } return myRev; }실제 표현은 funcReverse() 함수에서 값을 반환하고 가져옴으로써 역방향 표현과 비교됩니다. −
public static bool checkPalindrome(long num) { long myRev = funcReverse(num); return (num == myRev); }Example다음은 숫자 확인을 위한 완전한 예입니다. 의 이진 표현은 회문입니다 −온라인 데모
using System; public class Demo { public static long funcReverse(long num) { long myRev = 0; while (num > 0) { myRev <<= 1; if ((num & 1) == 1) myRev ^= 1; num >>= 1; } return myRev; } public static bool checkPalindrome(long num) { long myRev = funcReverse(num); return (num == myRev); } public static void Main() { // Binary value of 5 us 101 long num = 5; if (checkPalindrome(num)) Console.WriteLine("Palindrome Number"); else Console.WriteLine("Not a Palindrome Number"); } }output
Palindrome Number
위 내용은 이진 표현이 회문인지 확인하는 C# 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!